package com.web.utils;

public class NumberUtil {
	/**
	 * 将整型转换为字节数组~
	 * 
	 * @param integer
	 * @return
	 */
	public static byte[] int2bytes(int integer) {
		byte[] bytes = new byte[4];
		bytes[0] = (byte) (integer & 0xff); // 最低位
		bytes[1] = (byte) ((integer >> 8) & 0xff); // 次低位
		bytes[2] = (byte) ((integer >> 16) & 0xff); // 次高位
		bytes[3] = (byte) (integer >>> 24); // 最高位，无符号右移。
		return bytes;
	}

	/**
	 * 将字节数组转换为整型~
	 * 
	 * @param bytes
	 * @return
	 */
	public static int bytes2int(byte[] bytes) {
		// 一个 byte 数据左移 24 位变成 0x??000000，再右移 8 位变成 0x00??0000（| 表示按位或）
		int integer = (bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00) | ((bytes[2] << 24) >>> 8) | (bytes[3] << 24);
		return integer;
	}

}
